Android - Style Resources 樣式資源的定義與使用
說明:若有多種元素屬性需要重複使用,可將其定義為 Style 資源以共用。
建立:右鍵點選 res/values
→「New」→「Values resource file」→ 出現「New Resource File」彈出視窗,命名為「styles」,其餘欄位保持預設:
Style 樣式資源定義語法
<style
name="樣式資源ID"
parent="@style/parent樣式資源ID">
<item name="屬性名稱1">屬性值1</item>
<item name="屬性名稱2">屬性值2</item>
...
</style>
定義 Style 資源範例
此處將套用 parent TextView
的樣式,並設定文字大小、文字顏色、文字粗體、背景顏色等屬性值:
<style name="TitleText" parent="@style/Widget.AppCompat.TextView">
<item name="android:textSize">40sp</item>
<item name="android:textColor">@color/color_000</item>
<item name="android:textStyle">bold</item>
<item name="android:background">@color/color_00FF0000</item>
</style>
取得 Style 資源:@style/樣式資源ID
,如:@style/TitleText
使用:開啟 activity_main.xml
,新增 TextView
樣式屬性 style
:
<androidx.constraintlayout.widget.ConstraintLayout
...
<TextView
...
style="@style/TitleText"
... />
</androidx.constraintlayout.widget.ConstraintLayout>
確保 MainActivity.kt
須注入layout: setContentView(R.layout.activity_main)
樣式覆蓋:
注意如果在 TextView
中有設定與 style
相同的元素屬性,則 style
的樣式會被覆蓋。例如重複給予 android:textSize
屬性值,則會覆蓋 style
中的 android:textSize
設定值。如下圖所示:
預覽:套用的樣式預覽(無覆蓋樣式情況)
啟動專案:套用的樣式呈現